/*    */ package com.zimbra.qa.unittest;
/*    */ 
/*    */ import com.zimbra.common.util.TaskScheduler;
/*    */ import java.util.concurrent.Callable;
/*    */ import junit.framework.TestCase;
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ public class TestTaskScheduler
/*    */   extends TestCase
/*    */ {
/*    */   private class TestTask
/*    */     implements Callable<Integer>
/*    */   {
/* 30 */     int mNumCalls = 0;
/*    */     
/*    */     private TestTask() {}
/*    */     
/* 34 */     public Integer call() throws Exception { this.mNumCalls += 1;
/* 35 */       return Integer.valueOf(this.mNumCalls);
/*    */     }
/*    */     
/*    */ 
/*    */     String mName;
/*    */   }
/*    */   
/*    */ 
/*    */   public void testTaskScheduler()
/*    */     throws Exception
/*    */   {
/* 46 */     TaskScheduler<Integer> scheduler = null;
/*    */     
/*    */ 
/* 49 */     TestTask task1 = new TestTask(null);
/* 50 */     TestTask task2 = new TestTask(null);
/* 51 */     scheduler = new TaskScheduler("TestTaskScheduler", 1, 2);
/* 52 */     scheduler.schedule(Integer.valueOf(1), task1, true, 1000L, 0L);
/* 53 */     scheduler.schedule(Integer.valueOf(2), task2, true, 1500L, 1500L);
/* 54 */     Thread.sleep(1800L);
/* 55 */     scheduler.cancel(Integer.valueOf(2), false);
/* 56 */     scheduler.cancel(Integer.valueOf(1), false);
/*    */     
/*    */ 
/* 59 */     Thread.sleep(1000L);
/*    */     
/*    */ 
/* 62 */     assertEquals("Task 1 calls", 2, ((Integer)scheduler.getLastResult(Integer.valueOf(1))).intValue());
/* 63 */     assertEquals("Task 2 calls", 1, ((Integer)scheduler.getLastResult(Integer.valueOf(2))).intValue());
/*    */   }
/*    */   
/*    */   public static void main(String[] args) throws Exception
/*    */   {
/* 68 */     TestUtil.cliSetup();
/* 69 */     TestUtil.runTest(TestTaskScheduler.class);
/*    */   }
/*    */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/qa/unittest/TestTaskScheduler.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */